#ifndef LIN_LDF_H
#define LIN_LDF_H

#include "lin_master.h"

/*定义报文的信号*/
typedef struct
{
    uint8_t BCM_TailgateStatus:1;
    uint8_t BCM_RpositionLampReq:1;
    uint8_t BCM_OnLampSignalReq:1;
    uint8_t BCM_OffLampSignalReq:1;
    uint8_t FillBit:4;
    uint8_t FillByte1;
    uint8_t FillByte2;
    uint8_t FillByte3;
    uint8_t FillByte4;
    uint8_t FillByte5;
    uint8_t FillByte6;
    uint8_t FillByte7;
}LIN_LDF_SIGNAL_0x11;

typedef union
{
    LIN_LDF_SIGNAL_0x11 signal;
    uint8_t data[8];
}LIN_LDF_FRAME_0x11;

typedef struct
{
    uint8_t BDC_Left_LBCmd:1;
    uint8_t BDC_Right_LBCmd:1;
    uint8_t BDC_FrntLePosLampCmd:1;
    uint8_t BDC_FrntRiPosLampCmd:1;
    uint8_t BDC_ReLePosLampCmd:1;
    uint8_t BDC_ReRiPosLampCmd:1;
    uint8_t BDC_Right_HBCmd:1;
    uint8_t BDC_Left_HBCmd:1;

    uint8_t BDC_LeftDRLCmd:1;
    uint8_t BDC_RightDRLCmd:1;
    uint8_t BDC_BrkLmpCmd:1;
    uint8_t fillbit:5;

    uint8_t BcmTurnIndcrRi:2;
    uint8_t BcmTurnIndcrLe:2;
    uint8_t BDC_LeTurnLiStreamEna:2;
    uint8_t BDC_RiTurnLiStreamEna:2;

    uint8_t BDC_Anim_Le_Cmd:4;
    uint8_t BDC_Anim_Ri_Cmd:4;

    uint8_t BDC_Stream_Le_Cmd:4;
    uint8_t BDC_Stream_Ri_Cmd:4;

    uint8_t fillbyte1;
    uint8_t fillbyte2;
    uint8_t fillbyte3;
}LIN_LDF_SIGNAL_0x04;

typedef union
{
    LIN_LDF_SIGNAL_0x04 signal;
    uint8_t data[8];
}LIN_LDF_FRAME_0x04;

extern LIN_LDF_FRAME_0x11 lin_bcm_0x11;
extern LIN_LDF_FRAME_0x04 lin_bcm_0x04;
extern void lin_data_fill_0x11(uint8_t *data);
extern void lin_data_fill_0x04(uint8_t *data);

#endif 
